package uk.org.fuzelogik.eldaw.auth;

/**
 * A method of authenticating a user and storing validated authentication
 * details. Instances should only be stored in the user's session, since they're
 * user-specific.
 * 
 * @author cgdavies
 */
public interface IAuthenticationStrategy
{
	/**
	 * @return <code>true</code> if the current user is authenticated
	 */
	public boolean isSignedIn();

	/**
	 * @return the ID that the user has successfully identified themselves as
	 * being, or <code>null</code> if the user hasn't authenticated
	 * successfully
	 */
	public String getAuthenticatedUserId();
}
